Covers Engine 2.0.0 · Desktop Interface 2.0.0 · Webserver Interface 2.0.0
DARTWIC Ecosystem
Understand where data, automation, and extensions live.
The engine runs the system; the interface and clients connect to it. Closing an interface does not by itself stop engine tasks. A project holds the resources and configuration used by that engine, including scripts, schematics, module instances, and saved remote connections.
Inside the engine
| Component | Responsibility | Guide |
|---|---|---|
| RAPID | Current channel values, metadata, authority, and recorded samples. | Channels |
| CAESAR | Task and loop execution, including start, stop, hold, and timing diagnostics. | Tasks |
| ARGUS | Events, firing state, acknowledgements, prompts, and holds. | Events and ARGUS |
| TEMPEST | Client operation requests and telemetry delivery. | Using TEMPEST |
| DARTWIC Share | Channel and ARGUS communication between nodes. | DARTWIC Share |
A device module receives a measurement and writes it to RAPID. Inline calculations and dependent event conditions react during that write. Separate workers deliver telemetry and record samples. The interface receives those updates and redraws its views; its displayed refresh rate is not the engine’s control-loop rate.
Where should your code go?
| You need to… | Start with… |
|---|---|
| Calculate or automate using existing channels | DCode. |
| Own a device connection, driver, or long-lived C++ service | An engine plugin with a module. |
| Give operators a custom page, task editor, or schematic node | An interface plugin. |
| Query data from another process | The Python client. |
| Build a separate web dashboard | The React client. |
| Integrate an external C++ node using the normal engine transport | The C++ Share client. |
| Carry Share over radio, serial, or another custom link | The Share Protocol SDK. |
A plugin is a package, a module is an instance created by an engine plugin, and a task is a controllable unit of execution. A single driver plugin can supply several module instances and task types, plus interface panels for configuring them.